package com.tinyseed.emcp.api.maintenance.service;

import com.tinyseed.emcp.api.maintenance.domain.MaintenanceInfo;
import com.tinyseed.emcp.api.maintenance.domain.MaintenanceInfoDTO;
import com.tinyseed.emcp.api.maintenance.domain.TelReturnRecord;
import com.tinyseed.emcp.api.maintenance.domain.query.MaintenanceInfoQueryCriteria;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @version Revision 1.0.0
 * @版权：
 * @author: Howard
 * @email:
 * @see:
 * @创建日期：2020/3/14
 * @功能说明：维保服务
 * @begin
 * @修改记录:
 * @修改后版本 修改人        修改内容
 * @2020/3/14 wuxiran        创建
 * @end
 */
public interface MaintenanceService {
    /**
     * Description 生成维保记录
     * Version 1.0
     * Date 2020/3/14 6:05 下午
     * Author howard
     *
     * @param maintenanceInfo 维保记录
     * @return
     */
    void save(MaintenanceInfo maintenanceInfo);

    /**
     * Description 审核维保单维保
     * Version 1.0
     * Date 2020/3/14 6:17 下午
     * Author howard
     */
    void auditedMT(MaintenanceInfo maintenanceInfo);

    void issuedMT(MaintenanceInfo maintenanceInfo);

    void confirmMT(MaintenanceInfo maintenanceInfo);

    void submit(MaintenanceInfo maintenanceInfo);

    void complete(MaintenanceInfo maintenanceInfo);

    void addTelReturnRecord(MaintenanceInfoDTO telReturnRecord);

    Page getTelReturnRecord(Pageable pageable);

    Object  queryAll(MaintenanceInfoQueryCriteria criteria, Pageable pageable);
}
